option('audio',
  type : 'boolean',
  value : true,
  description : 'Audio support in efl'
)

option('avahi',
  type : 'boolean',
  value : false,
  description : 'Avahi (zeroconf) support in efl'
)

option('x11',
  type : 'boolean',
  value : true,
  description : 'X11 support in efl'
)

option('fb',
  type : 'boolean',
  value : false,
  description : 'Framebuffer (/dev/fb / fbocon) support in efl'
)

option('sdl',
  type : 'boolean',
  value : false,
  description : 'SDL support in efl'
)

option('wl',
  type : 'boolean',
  value : false,
  description : 'Wayland client support in efl'
)

option('buffer',
  type : 'boolean',
  value : false,
  description : 'Generic graphics buffer API support in efl'
)

option('drm',
  type : 'boolean',
  value : false,
  description : 'DRM/KMS advanced framebuffer/console support in efl'
)

option('input',
  type : 'boolean',
  value : true,
  description : 'libinput abstraction in efl'
)

option('cocoa',
  type : 'boolean',
  value : false,
  description : 'Apple MacOS cocoa support in efl'
)

option('physics',
  type : 'boolean',
  value : false,
  description : 'Physics engine (bullet) in efl'
)

option('eeze',
  type : 'boolean',
  value : true,
  description : 'Device abstraction (udev wrapper) in efl'
)

option('opengl',
  type : 'combo',
  choices : ['full', 'es-egl', 'none'],
  value : 'es-egl',
  description : 'Type of OpenGL support in efl'
)

option('build-id',
  type : 'string',
  value : 'none',
  description : 'The build id string for efl set as the EFL_BUILD_ID define')

option('eina-magic-debug',
  type : 'boolean',
  value : true,
  description : 'Magic number checking of eina structures in efl'
)

option('debug-threads',
  type : 'boolean',
  value : false,
  description : 'Thread debugging in efl'
)

option('build-examples',
  type : 'boolean',
  value : false,
  description : 'Compile examples'
)

option('build-tests',
  type : 'boolean',
  value : true,
  description : 'Compile tests'
)

option('crypto',
  type : 'combo',
  choices : ['openssl'],
  value : 'openssl',
  description : 'Which SSL Crypto library used in efl'
)

option('glib',
  type : 'boolean',
  value : false,
  description : 'Main loop integration for glib in efl'
)

option('g-mainloop',
  type : 'boolean',
  value : false,
  description : 'Use glib to run the main loop in efl'
)

option('gstreamer',
  type : 'boolean',
  value : true,
  description : 'GStreamer support in efl'
)

option('systemd',
  type : 'boolean',
  value : true,
  description : 'Systemd and Elogind support at runtime in efl'
)

option('pulseaudio',
  type : 'boolean',
  value : true,
  description : 'Pulseaudio support for audio API'
)

option('network-backend',
  type : 'combo',
  choices : ['connman', 'none'],
  value : 'none',
  description : 'Connman support in efl'
)

option('xpresent',
  type : 'boolean',
  value : false,
  description : 'X11 XPresent extension support in efl'
)

option('xinput2',
  type : 'boolean',
  value : true,
  description : 'X11 XInput 2.0+ support in efl'
)

option('xinput22',
  type : 'boolean',
  value : true,
  description : 'X11 XInput 2.2+ support in efl'
)

option('tslib',
  type : 'boolean',
  value : false,
  description : 'Framebuffer (/dev/fb / fbcon) touchscreen tslib support in efl'
)

option('eject-path',
  type : 'string',
  value : 'detect',
  description : 'Path to the eject binary, if "detect" internal eeze bins are used'
)

option('mount-path',
  type : 'string',
  value : 'detect',
  description : 'Path to the mount binary, if "detect" internal eeze bins are used'
)

option('unmount-path',
  type : 'string',
  value : 'detect',
  description : 'Path to the unmount binary, if "detect" internal eeze bins are used'
)

option('evas-loaders-disabler',
  type : 'array',
  description : 'List of modular image/vector loaders to disable in efl',
  choices : ['', 'gst', 'pdf', 'ps', 'raw', 'svg', 'rsvg', 'xcf', 'bmp', 'dds', 'eet', 'generic', 'gif', 'ico', 'jp2k', 'jpeg', 'pmaps', 'png', 'psd', 'tga', 'tgv', 'tiff', 'wbmp', 'webp', 'xpm', 'json', 'avif', 'heif', 'jxl'],
  value : ['json', 'avif', 'heif', 'jxl']
)

option('ecore-imf-loaders-disabler',
  type : 'array',
  description : 'List of input methods to disable in efl',
  choices : ['', 'xim', 'ibus', 'scim'],
  value : ['ibus']
)

option('harfbuzz',
  type : 'boolean',
  value : true,
  description : 'Harfbuzz (complex text layout library) support in efl'
)

option('fribidi',
  type : 'boolean',
  value : true,
  description : 'Fribidi (right to left text layout library) support in efl'
)

option('fontconfig',
  type : 'boolean',
  value : true,
  description : 'Fontconfig (system font database) support in efl'
)

option('edje-sound-and-video',
  type : 'boolean',
  value : true,
  description : 'disable sound and video for edje'
)

option('pixman',
  type : 'boolean',
  value : false,
  description : 'Pixman software renderer support in efl'
)

option('hyphen',
  type : 'boolean',
  value : false,
  description : 'Hyphen text layout support in efl'
)

option('embedded-lz4',
  type : 'boolean',
  value : true,
  description : 'Use the embedded in-tree zlib r131 release instead of system zlib'
)

option('libmount',
  type : 'boolean',
  value : true,
  description : 'Libmount support for device mounting in efl'
)

option('vnc-server',
  type : 'boolean',
  value : false,
  description : 'VNC server support in efl for multiseat testing'
)

option('v4l2',
  type : 'boolean',
  value : true,
  description : 'Video v4l2 support'
)

option('elua',
  type : 'boolean',
  value : false,
  description : 'Lua launcher binary support in efl'
)

option('wl-deprecated',
  type : 'boolean',
  value : false,
  description : 'Deprecated wayland support in efl'
)

option('drm-deprecated',
  type : 'boolean',
  value : false,
  description : 'Deprecated DRM/KMS support in efl'
)

option('nls',
  type: 'boolean',
  value: true,
  description: 'Localization'
)

option('bindings',
  type : 'array',
  choices : ['', 'lua', 'cxx', 'mono'],
  value : ['cxx'],
  description : 'Which auto-generated language bindings for efl to enable',
)

option('mono-beta',
  type: 'boolean',
  value: false,
  description: 'Mono/C# @beta Eo methods enabled in the efl'
)

option('dotnet-stylecop',
  type: 'string',
  description: 'Dotnet StyleCop checks. Use * for all, or use comma listed: -Ddotnet-stylecop=ca1062,CA1032, sa0001, SA0002, cA2225'
)

option('dotnet-stylecop-severity',
  type: 'combo',
  choices: ['Warning', 'Error'],
  value: 'Warning',
  description: 'Dotnet StyleCop checks cause compilation errors or just warnings'
)

option('mono-examples-dir',
  type: 'string',
  value: '',
  description: 'Where eolian_mono will search for examples to embed into the documentation'
)

option('dotnet',
  type: 'boolean',
  value: false,
  description: 'Enable building C# bindings with dotnet instead of mono'
)

option('lua-interpreter',
  type: 'combo',
  choices: ['luajit', 'lua'],
  value: 'lua',
  description: 'Which Lua back-end library to use in efl'
)

option('native-arch-optimization',
  type: 'boolean',
  value: true,
  description: 'Enable architecture native optimizations in efl'
)

option('windows-version',
  type : 'combo',
  choices : ['vista', 'win7', 'win8', 'win81', 'win10'],
  value : 'win7',
  description : 'When on Windows, compile efl with the specified Windows version'
)

option('dictionaries-hyphen-dir',
  type : 'string',
  value : '/usr/share/hyphen/',
  description : 'The path to the hyphen dictionaries directory'
)

option('elementary-base-dir',
  type : 'string',
  value : '.elementary',
  description : 'The name of the directory for user supplied elementary data files like themes, config files'
)

option('install-eo-files',
  type: 'boolean',
  value: true,
  description : 'Install any eo file'
)

option('mono-friend-assemblies',
  type : 'array',
  value : [],
  description : 'List of friend assemblies that can access efl_mono assembly\'s internal types and members.'
)

option('efl-one',
  type: 'boolean',
  value : false,
  description : 'Build special set of .so´s as a single .so'
)

option('max-fd-size',
  type : 'string',
  value : '8192',
  description : 'This is the maximim set of fds and thus maximum fd value allowed +1 in the ecore main loop handler'
)

option('docs',
  type: 'boolean',
  value: false,
  description: 'Enable building C of documentation (Requires doxygen)'
)

option('embedded-libunibreak',
  type : 'boolean',
  value : true,
  description : 'Use the embedded in-tree libunibreak instead of the system libunibreak.'
)
